Cisco IOS
   HOME

TheInfoList



OR:

The Internetworking Operating System (IOS) is a family of proprietary
network operating system A network operating system (NOS) is a specialized operating system for a network device such as a router, switch or firewall. Historically operating systems with networking capabilities were described as network operating systems, because they al ...
s used on several router and
network switch A network switch (also called switching hub, bridging hub, and, by the IEEE, MAC bridge) is networking hardware that connects devices on a computer network by using packet switching to receive and forward data to the destination device. A netw ...
models manufactured by
Cisco Systems Cisco Systems, Inc., commonly known as Cisco, is an American-based multinational corporation, multinational digital communications technology conglomerate (company), conglomerate corporation headquartered in San Jose, California. Cisco develo ...
. The system is a package of routing, switching, internetworking, and telecommunications functions integrated into a multitasking operating system. Although the IOS code base includes a
cooperative multitasking Cooperative multitasking, also known as non-preemptive multitasking, is a style of computer multitasking in which the operating system never initiates a context switch from a running process to another process. Instead, in order to run multiple ...
kernel, most IOS features have been ported to other kernels, such as
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
and
QNX QNX ( or ) is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems. The product was originally developed in the early ...
, for use in Cisco products. Not all Cisco networking products run IOS. Exceptions include some
Cisco Catalyst Catalyst is the brand for a variety of network switches, wireless controllers, and wireless access points sold by Cisco Systems. While commonly associated with Ethernet switches, a number of different types of network interfaces have been availa ...
switches, which run IOS XE, and Cisco ASR routers, which run either IOS XE or
IOS XR IOS XR is a release train of Cisco Systems' widely deployed Internetwork Operating System (IOS), used on their high-end Network Convergence System (NCS) and carrier-grade routers such as the ASR 9000 series and Carrier Routing System ser ...
; both are Linux-based operating systems. For data center environments,
Cisco Nexus The Cisco Nexus series switches are modular and fixed port network switches designed for the data center. Cisco Systems introduced the Nexus Series of switches on January 28, 2008. The first chassis in the Nexus 7000 family is a 10-slot chassis ...
switches (
Ethernet Ethernet () is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
) and Cisco MDS switches ( Fibre Channel) both run
Cisco NX-OS NX-OS is a network operating system for the Nexus-series Ethernet switches and MDS-series Fibre Channel storage area network switches made by Cisco Systems. It evolved from the Cisco operating system SAN-OS, originally developed for its MDS swi ...
, also a Linux-based operating system.


History

The IOS network operating system was created from code written by
William Yeager William "Bill" Yeager (born June 16, 1940, San Francisco) is an American engineer. He is best known for being the inventor of a packet-switched, "Ships in the Night," multiple-protocol router in 1981, during his 20-year tenure at Stanford's K ...
at
Stanford University Stanford University, officially Leland Stanford Junior University, is a private research university in Stanford, California. The campus occupies , among the largest in the United States, and enrolls over 17,000 students. Stanford is consider ...
, which was developed in the 1980s for routers with 256 kB of memory and low CPU processing power. Through modular extensions, IOS has been adapted to increasing hardware capabilities and new networking protocols. When IOS was developed, Cisco Systems' main product line were routers. The company acquired a number of young companies that focused on network switches, such as the inventor of the first Ethernet switch Kalpana, and as a result Cisco switches did not initially run IOS. The Cisco Catalyst series would for some time run
CatOS Catalyst is the brand for a variety of network switches, wireless controllers, and wireless access points sold by Cisco Systems. While commonly associated with Ethernet switches, a number of different types of network interfaces have been avail ...
. In early modular chassis network switches from Cisco, modules with layer 3 routing functionalities were separate devices that ran IOS, while the layer 2 switch modules ran CatOS. Cisco eventually introduced the native mode for chassis, so that they only run one operating system. For the Nexus switches Cisco developed NX-OS, which is similar to IOS, except that it is Linux-based.


Command-line interface

The IOS
command-line interface A command-line interpreter or command-line processor uses a command-line interface (CLI) to receive commands from a user in the form of lines of text. This provides a means of setting parameters for the environment, invoking executables and pro ...
(CLI) provides a fixed set of multiple-word commands. The set available is determined by the "mode" and the privilege level of the current user. "Global configuration mode" provides commands to change the system's configuration, and "interface configuration mode" provides commands to change the configuration of a specific interface. All commands are assigned a ''privilege level'', from 0 to 15, and can only be accessed by users with the necessary privilege. Through the CLI, the commands available to each privilege level can be defined. Most builds of IOS include a
Tcl TCL or Tcl or TCLs may refer to: Business * TCL Technology, a Chinese consumer electronics and appliance company **TCL Electronics, a subsidiary of TCL Technology * Texas Collegiate League, a collegiate baseball league * Trade Centre Limited ...
interpreter. Using the
embedded event manager Cisco Embedded Event Manager (EEM) is a feature included in Cisco's IOS operating system (and some other Cisco OSes such as IOS-XR, IOS-XE, and NX-OS) that allow programmability and automation capabilities inside the device. EEM allows the beha ...
feature, the interpreter can be scripted to react to events within the networking environment, such as interface failure or periodic timers. Available command modes include: * User EXEC Mode * Privileged EXEC Mode * Global Configuration Mode * ROM Monitor Mode * Setup Mode And more than 100 configuration modes and submodes.


Architecture

Cisco IOS has a
monolithic A monolith is a monument or natural feature consisting of a single massive stone or rock. Monolith or monolithic may also refer to: Architecture * Monolithic architecture, a style of construction in which a building is carved, cast or excavated ...
architecture, owing to the limited hardware resources of routers and switches in the 1980s. This means that all processes have direct hardware access to conserve CPU processing time. There is no memory protection between processes and IOS has a run to completion scheduler, which means that the kernel does not pre-empt a running
process A process is a series or set of activities that interact to produce a result; it may occur once-only or be recurrent or periodic. Things called a process include: Business and management *Business process, activities that produce a specific se ...
. Instead the process must make a kernel call before other processes get a chance to run. IOS considers each process a single thread and assigns it a priority value, so that high priority processes are executed on the CPU before queued low priority processes, but high priority processes cannot interrupt running low priority processes. The Cisco IOS monolithic kernel does not implement
memory protection Memory protection is a way to control memory access rights on a computer, and is a part of most modern instruction set architectures and operating systems. The main purpose of memory protection is to prevent a process from accessing memory that h ...
for the data of different processes. The entire physical memory is mapped into one virtual address space. The Cisco IOS kernel does not perform any memory
paging In computer operating systems, memory paging is a memory management scheme by which a computer stores and retrieves data from secondary storage for use in main memory. In this scheme, the operating system retrieves data from secondary storage ...
or swapping. Therefore the addressable memory is limited to the physical memory of the network device on which the operating system is installed. IOS does however support aliasing of duplicated virtual memory contents to the same physical memory. This architecture was implemented by Cisco in order to ensure system performance and minimize the operational overheads of the operating system. The disadvantage of the IOS architecture is that it increases the complexity of the operating system, data corruption is possible as one process can write over the data of another, and one process can destabilize the entire operating system or even cause a software-forced
crash Crash or CRASH may refer to: Common meanings * Collision, an impact between two or more objects * Crash (computing), a condition where a program ceases to respond * Cardiac arrest, a medical condition in which the heart stops beating * Couch su ...
. In the event of an IOS crash, the operating system automatically reboots and reloads the saved configuration.


Routing

In all versions of Cisco IOS, packet routing and forwarding ( switching) are distinct functions. Routing and other protocols run as Cisco IOS processes and contribute to the Routing Information Base (RIB). This is processed to generate the final IP forwarding table (FIB, Forwarding Information Base), which is used by the forwarding function of the router. On router platforms with software-only forwarding (e.g., Cisco 7200), most traffic handling, including
access control list In computer security, an access-control list (ACL) is a list of permissions associated with a system resource (object). An ACL specifies which users or system processes are granted access to objects, as well as what operations are allowed on giv ...
filtering and forwarding, is done at interrupt level using
Cisco Express Forwarding {{Short description, Layer 3 switching technology Cisco Express Forwarding (CEF) is an advanced layer 3 switching technology used mainly in large core networks or the Internet to enhance the overall network performance. Although CEF is a Cisco propr ...
(CEF) or dCEF (Distributed CEF). This means IOS does not have to do a process context switch to forward a packet. Routing functions such as
OSPF Open Shortest Path First (OSPF) is a routing protocol for Internet Protocol (IP) networks. It uses a link state routing (LSR) algorithm and falls into the group of interior gateway protocols (IGPs), operating within a single autonomous syst ...
or
BGP Border Gateway Protocol (BGP) is a standardized exterior gateway protocol designed to exchange routing and reachability information among autonomous systems (AS) on the Internet. BGP is classified as a path-vector routing protocol, and it mak ...
run at the process level. In routers with hardware-based forwarding, such as the Cisco 12000 series, IOS computes the FIB in software and loads it into the forwarding hardware (such as an ASIC or network processor), which performs the actual packet forwarding function.


Interface descriptor block

An Interface Descriptor Block, or simply IDB, is a portion of memory or Cisco IOS internal data structure that contains information such as the IP address, interface state, and packet statistics for networking data. Cisco's IOS software maintains one IDB for each hardware interface in a particular Cisco switch or router and one IDB for each subinterface. The number of IDBs present in a system varies with the Cisco hardware platform type. Physical and logical interfaces on the switch will be referenced with either expanded or abbreviated port description names. This combined with slot, module, and interface numbering creates a unique reference to that interface.


Packages and feature sets

IOS is shipped as a unique file that has been compiled for specific Cisco network devices. Each IOS Image therefore include a feature set, which determine the command-line interface (CLI) commands and features that are available on different Cisco devices. Upgrading to another feature set therefore entails the installation of a new IOS image on the networking device and reloading the IOS operating system. Information about the IOS version and feature-set running on a Cisco device can be obtained with the ''show version'' command. Most Cisco products that run IOS also have one or more "feature sets" or "packages", typically eight packages for Cisco routers and five packages for Cisco network switches. For example, Cisco IOS releases meant for use on
Catalyst switch Catalyst is the brand for a variety of network switches, wireless controllers, and wireless access points sold by Cisco Systems. While commonly associated with Ethernet switches, a number of different types of network interfaces have been availa ...
es are available as "standard" versions (providing only basic IP routing), "enhanced" versions, which provide full
IPv4 Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
routing support, and "advanced IP services" versions, which provide the enhanced features as well as
IPv6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
support. Beginning with the 1900, 2900 and 3900 series of ISR Routers, Cisco revised the licensing model of IOS. To simplify the process of enlarging the feature-set and reduce the need for network operating system reloads, Cisco introduced universal IOS images, that include all features available for a device and customers may unlock certain features by purchasing an additional
software license A software license is a legal instrument (usually by way of contract law, with or without printed material) governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source ...
. The exact feature set required for a particular function can be determined using th
Cisco Feature Navigator
Routers come with IP Base installed, and additional feature pack licenses can be installed as bolt-on additions to expand the feature set of the device. The available feature packs are: * Data adds features like BFD, IP SLAs, IPX, L2TPv3, Mobile IP, MPLS,
SCTP The Stream Control Transmission Protocol (SCTP) is a computer networking communications protocol in the transport layer of the Internet protocol suite. Originally intended for Signaling System 7 (SS7) message transport in telecommunication, the p ...
. * Security adds features like VPN, Firewall, IP SLAs, NAC. * Unified Comms adds features like CallManager Express, Gatekeeper, H.323, IP SLAs, MGCP, SIP, VoIP, CUBE(SBC). IOS images can not be updated with
software bug A software bug is an error, flaw or fault in the design, development, or operation of computer software that causes it to produce an incorrect or unexpected result, or to behave in unintended ways. The process of finding and correcting bugs i ...
fixes. To patch a vulnerability in IOS, a binary file with the entire operating system needs to be loaded.


Versioning

Cisco IOS is versioned using three numbers and some letters, in the general form ''a.b(c.d)e'', where: * ''a'' is the major version number. * ''b'' is the minor version number. * ''c'' is the release number, which begins at one and increments as new releases in a same way ''a.b'' train are released. "Train" is Cisco-speak for "a vehicle for delivering Cisco software to a specific set of platforms and features." * ''d'' (omitted from general releases) is the interim build number. * ''e'' (zero, one or two letters) is the
software release train Software versioning is the process of assigning either unique ''version names'' or unique ''version numbers'' to unique states of computer software. Within a given version number category (e.g., major or minor), these numbers are generally assig ...
identifier, such as none (which designates the mainline, see below), ''T'' (for Technology), ''E'' (for Enterprise), ''S'' (for Service provider), ''XA'' as a special functionality train, ''XB'' as a different special functionality train, etc. Rebuilds – Often a rebuild is compiled to fix a single specific problem or vulnerability for a given IOS version. For example, 12.1(8)E14 is a Rebuild, the 14 denoting the 14th rebuild of 12.1(8)E. Rebuilds are produced to either quickly repair a defect, or to satisfy customers who do not want to upgrade to a later major revision because they may be running critical infrastructure on their devices, and hence prefer to minimize change and risk. Interim releases – Are usually produced on a weekly basis, and form a roll-up of current development effort. The Cisco advisory web site may list more than one possible interim to fix an associated issue (the reason for this is unknown to the general public). Maintenance releases – Rigorously tested releases that are made available and include enhancements and bug fixes. Cisco recommend upgrading to Maintenance releases where possible, over Interim and Rebuild releases.


Trains

Cisco says, "A train is a vehicle for delivering Cisco software to a specific set of platforms and features."


Until 12.4

Before Cisco IOS release 15, releases were split into several ''trains'', each containing a different set of features. Trains more or less map onto distinct markets or groups of customers that Cisco targeted. * The mainline train is intended to be the most stable release the company can offer, and its feature set never expands during its lifetime. Updates are released only to address bugs in the product. The previous technology train becomes the source for the current mainline train — for example, the 12.1T train becomes the basis for the 12.2 mainline. Therefore, to determine the features available in a particular mainline release, look at the previous T train release. * The T –
Technology Technology is the application of knowledge to reach practical goals in a specifiable and reproducible way. The word ''technology'' may also mean the product of such an endeavor. The use of technology is widely prevalent in medicine, science, ...
train, gets new features and bug fixes throughout its life, and is therefore potentially less stable than the mainline. (In releases prior to Cisco IOS Release 12.0, the P train served as the Technology train.) Cisco doesn't recommend usage of T train in production environments unless there is urgency to implement a certain T train's new IOS feature. * The S –
Service Provider A service provider (SP) is an organization that provides services, such as consulting, legal, real estate, communications, storage, and processing services, to other organizations. Although a service provider can be a sub-unit of the organization t ...
train, runs only on the company's core router products and is heavily customized for Service Provider customers. * The E – Enterprise train, is customized for implementation in enterprise environments. * The B –
broadband In telecommunications, broadband is wide bandwidth data transmission which transports multiple signals at a wide range of frequencies and Internet traffic types, that enables messages to be sent simultaneously, used in fast internet connections. ...
train, supports internet based broadband features. * The X* (XA, XB, etc.) – Special Release train, contains one-off releases designed to fix a certain bug or provide a new feature. These are eventually merged with one of the above trains. There were other trains from time to time, designed for specific needs — for example, the 12.0AA train contained new code required for Cisco's AS5800 product.


Since 15.0

Starting with Cisco IOS release 15, there is just a single train, the M/T train. This train includes both extended maintenance releases and standard maintenance releases. The M releases are extended maintenance releases, and Cisco will provide bug fixes for 44 months. The T releases are standard maintenance releases, and Cisco will only provide bug fixes for 18 months.


Security and vulnerabilities

Because IOS needs to know the cleartext password for certain uses, (e.g., CHAP authentication) passwords entered into the CLI by default are weakly encrypted as 'Type 7' ciphertext, such as "Router(config)#username jdoe password 7 ''0832585B1910010713181F''". This is designed to prevent "shoulder-surfing" attacks when viewing router configurations and is not secure – they are easily decrypted using software called "getpass" available since 1995, or "ios7crypt", a modern variant, although the passwords can be decoded by the router using the "key chain" command and entering the type 7 password as the key, and then issuing a "show key" command; the above example decrypts to "stupidpass". However, the program will not decrypt 'Type 5' passwords or passwords set with the enable secret command, which uses salted MD5 hashes. Cisco recommends that all Cisco IOS devices implement the authentication, authorization, and accounting (AAA) security model. AAA can use local,
RADIUS In classical geometry, a radius ( : radii) of a circle or sphere is any of the line segments from its center to its perimeter, and in more modern usage, it is also their length. The name comes from the latin ''radius'', meaning ray but also the ...
, and
TACACS+ Terminal Access Controller Access-Control System (TACACS, ) refers to a family of related protocols handling remote authentication and related services for network access control through a centralized server. The original TACACS protocol, which dat ...
databases. However, a local account is usually still required for emergency situations. At the
Black Hat Briefings Black Hat Briefings (commonly referred to as Black Hat) is a computer security conference that provides security consulting, training, and briefings to hackers, corporations, and government agencies around the world. Black Hat brings together ...
conference in July 2005, Michael Lynn, working for Internet Security Systems at the time, presented information about a vulnerability in IOS. Cisco had already issued a patch, but asked that the flaw not be disclosed. Cisco filed a lawsuit, but settled after an injunction was issued to prevent further disclosures.


IOS XR train

For Cisco products that required very high availability, such as the
Cisco CRS-1 Carrier Routing System (CRS) is a modular and distributed core router developed by Cisco Systems Inc that enables service providers to deliver data, voice, and video services over a scalable IP Next-Generation Network (NGN) infrastructure. In a net ...
, the limitations of a monolithic kernel were not acceptable. In addition, competitive router operating systems that emerged 10–20 years after IOS, such as
Juniper Junipers are coniferous trees and shrubs in the genus ''Juniperus'' () of the cypress family Cupressaceae. Depending on the taxonomy, between 50 and 67 species of junipers are widely distributed throughout the Northern Hemisphere, from the Arcti ...
's
Junos OS Junos OS (also known as Juniper Junos, Junos and JUNOS) is a FreeBSD-based network operating system used in Juniper Networks routing, switching and security devices. Versioning Junos OS was first made available on 7 July 1998, with new feature ...
, were designed to not have these limitations.Juniper Networks: JunOS
/ref> Cisco's response was to develop a tree of Cisco IOS that offered modularity and memory protection between processes, lightweight threads, pre-emptive scheduling and the ability to independently restart failed processes. The IOS XR development train initially used the
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
microkernel In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
(
QNX QNX ( or ) is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems. The product was originally developed in the early ...
) and a large part of the IOS
source code In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
was re-written to take advantage of the features offered by the kernel. In 2005 Cisco introduced the Cisco IOS XR network operating system on the 12000 series of network routers, extending the microkernel architecture from the CRS-1 routers to Cisco's widely deployed
core router A core router is a router designed to operate in the Internet backbone, or core. To fulfill this role, a router must be able to support multiple telecommunications interfaces of the highest speed in use in the core Internet and must be able to f ...
s. In 2006 Cisco introduced IOS Software Modularity, which extends the microkernel architecture into the IOS environment, while still providing the software upgrade capabilities.


See also

*
Cisco IOS XE IOS XE is a release train of Cisco Systems' widely deployed Internetworking Operating System (IOS), introduced with the ASR 1000 series. It is built on Linux and provides a distributed software architecture that moves many operating system re ...
*
Cisco IOS XR IOS XR is a release train of Cisco Systems' widely deployed Internetwork Operating System (IOS), used on their high-end Network Convergence System (NCS) and carrier-grade routers such as the ASR 9000 series and Carrier Routing System ser ...
*
Cisco NX-OS NX-OS is a network operating system for the Nexus-series Ethernet switches and MDS-series Fibre Channel storage area network switches made by Cisco Systems. It evolved from the Cisco operating system SAN-OS, originally developed for its MDS swi ...
*
Junos OS Junos OS (also known as Juniper Junos, Junos and JUNOS) is a FreeBSD-based network operating system used in Juniper Networks routing, switching and security devices. Versioning Junos OS was first made available on 7 July 1998, with new feature ...
* Supervisor Engine (Cisco) *
Network operating system A network operating system (NOS) is a specialized operating system for a network device such as a router, switch or firewall. Historically operating systems with networking capabilities were described as network operating systems, because they al ...
* Packet Tracer


References


External links


Cisco Content Hub

Cisco Feature Navigator


{{Routing software
IOS iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple Inc. exclusively for its hardware. It is the operating system that powers many of the company's mobile devices, including the iPhone; the term also include ...
Embedded operating systems Internet Protocol based network software Network operating systems Routers (computing)